home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1990: Discy Business / Discy Business.2mg / DEV.CD / GUIDED.TOURS / IIC.PLUS.TOUR / APPLE.PLAY / FUN.W.FINANCE (.txt) < prev    next >
Encoding:
Applesoft BASIC Source Code  |  1984-10-29  |  11.6 KB  |  176 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 1  ONERR  GOTO 2000
  2. 10  TEXT : HOME : GOSUB 1440:F$ = "#######.##":I$ = "###.###%":DL$ = "#$#####.##": DIM A$(5): DIM I(5)
  3. 20  TEXT : HOME : GOSUB 450: PRINT  TAB( 7);"BUSINESS ( FINANCIAL ) SERIES": PRINT : GOSUB 450: PRINT " MENU...    (A) DEPRECIATION": PRINT : PRINT "            (B) INTEREST": PRINT : PRINT  TAB( 13);"(C) LOANS": PRINT : PRINT  TAB( 13);"(D) INVESTMENTS": PRINT : PRINT  TAB( 13);"(E) DEPOSITS": PRINT : PRINT  TAB( 13);"(F) AMORTIZATION": PRINT : PRINT  TAB( 13);"(G) END PROGRAM": PRINT 
  4. 25  VTAB 21: CALL  -868
  5. 30  PRINT "WHICH (A-G) ? ";: GET A$: PRINT A$: IF A$ =  CHR$(27)  THEN A$ = "G"
  6. 35  IF  ASC(A$) <65  OR  ASC(A$) >71  AND  ASC(A$) <97  OR  ASC(A$) >103  THEN 25
  7. 40  IF A$ = "A"  OR A$ = "a"  THEN 120
  8. 50  IF A$ = "B"  OR A$ = "b"  THEN 180
  9. 60  IF A$ = "C"  OR A$ = "c"  THEN 250
  10. 70  IF A$ = "D"  OR A$ = "d"  THEN 330
  11. 80  IF A$ = "E"  OR A$ = "e"  THEN 400
  12. 90  IF A$ = "F"  OR A$ = "f"  THEN 430
  13. 100  IF A$ = "G"  OR A$ = "g"  THEN 4000
  14. 110  GOTO 30
  15. 120  HOME : GOSUB 450: PRINT  TAB( 11);"((( DEPRECIATION )))": PRINT : GOSUB 450: PRINT : PRINT : PRINT  TAB( 10);"1. DEPRECIATION RATE": PRINT : PRINT  TAB( 10);"2. DEPRECIATION AMOUNT": PRINT : PRINT  TAB( 10);"3. SALVAGE VALUE": PRINT : PRINT  TAB( 10);"4. RETURN TO MENU": PRINT : PRINT : PRINT : PRINT 
  16. 125  VTAB 20: CALL  -958
  17. 130  INPUT "WHICH (1-4) ? ";A$: IF A$ = "1"  THEN 470
  18. 140  IF A$ = "2"  THEN 510
  19. 150  IF A$ = "3"  THEN 540
  20. 160  IF A$ = "4"  THEN 20
  21. 170  GOTO 125
  22. 180  HOME : GOSUB 450: PRINT  TAB( 13);"((( INTEREST )))": PRINT : GOSUB 450: PRINT : PRINT : PRINT "1. NOMINAL INTEREST RATE ON INVESTMENTS": PRINT : PRINT "2. EFFECTIVE INTEREST RATES ON INVSTMNT": PRINT : PRINT "3. EARNED INTEREST TABLE": PRINT : PRINT "4. ANNUAL INTEREST RATE ON A LOAN": PRINT : PRINT "5. RETURN TO MENU": PRINT : PRINT 
  23. 185  VTAB 20: CALL  -958
  24. 190  INPUT "WHICH (1-5) ? ";A$: IF A$ = "1"  THEN 580
  25. 200  IF A$ = "2"  THEN 620
  26. 210  IF A$ = "3"  THEN 660
  27. 220  IF A$ = "4"  THEN 870
  28. 230  IF A$ = "5"  THEN 20
  29. 240  GOTO 185
  30. 250  HOME : GOSUB 450: PRINT  TAB( 15);"((( LOANS )))": PRINT : GOSUB 450: PRINT : PRINT : PRINT  TAB( 7);"1. PRINCIPAL ON A LOAN": PRINT : PRINT  TAB( 7);"2. REGULAR PAYMENT ON A LOAN": PRINT : PRINT  TAB( 7);"3. LAST PAYMENT ON A LOAN": PRINT : PRINT  TAB( 7);"4. REMAINING BALANCE ON A LOAN": PRINT : PRINT  TAB( 7);"5. TERM OF A LOAN": PRINT : PRINT  TAB( 7);"6. RETURN TO MENU": PRINT : PRINT 
  31. 255  VTAB 22: CALL  -958
  32. 260  INPUT "WHICH (1-6) ? ";A$: IF A$ = "1"  THEN 940
  33. 270  IF A$ = "2"  THEN 970
  34. 280  IF A$ = "3"  THEN 1000
  35. 290  IF A$ = "4"  THEN 1030
  36. 300  IF A$ = "5"  THEN 1060
  37. 310  IF A$ = "6"  THEN 20
  38. 320  GOTO 255
  39. 330  HOME : GOSUB 450: PRINT  TAB( 16);"INVESTMENTS": PRINT : GOSUB 450: PRINT : PRINT : PRINT " 1. INITIAL INVESTMENT": PRINT : PRINT " 2. FUTURE VALUE OF AN INVESTMENT": PRINT : PRINT " 3. REGULAR WITHDRAWALS FROM INVESTMENT": PRINT : PRINT " 4. MINIMUM INVESTMENT FOR WITHDRAWAL": PRINT : PRINT " 5. RETURN TO MENU...": PRINT : PRINT 
  40. 335  VTAB 20: CALL  -958
  41. 340  INPUT "WHICH (1-5) ? ";A$: IF A$ = "1"  THEN 1090
  42. 350  IF A$ = "2"  THEN 1120
  43. 360  IF A$ = "3"  THEN 1150
  44. 370  IF A$ = "4"  THEN 1180
  45. 380  IF A$ = "5"  THEN 20
  46. 390  GOTO 335
  47. 400  HOME : GOSUB 450: PRINT  TAB( 13);"((( DEPOSITS )))": PRINT : GOSUB 450: PRINT : PRINT : PRINT "  1. FUTURE VALUE OF REGULAR DEPOSITS": PRINT  TAB( 29);"(ANNUITY)": PRINT : PRINT "  2. REGULAR DEPOSITS"
  48. 405  PRINT : PRINT : PRINT "  3. RETURN TO MENU..."
  49. 407  VTAB 19: CALL  -958: INPUT "WHICH (1-3) ? ";A$: IF A$ = "1"  THEN 1210
  50. 410  IF A$ = "2"  THEN 1240
  51. 420  IF A$ = "3"  THEN 20
  52. 425  GOTO 407
  53. 430  HOME : GOSUB 450: PRINT  TAB( 11);"((( AMORTIZATION )))": PRINT : GOSUB 450: PRINT : PRINT : PRINT  TAB( 6);"1. MORTGAGE AMORTIZATION TABLE": PRINT : PRINT  TAB( 6);"2. RETURN TO MENU..."
  54. 435  VTAB 14: CALL  -958: INPUT "WHICH (1-2) ? ";A$: IF A$ = "1"  THEN 1270
  55. 440  IF A$ = "2"  THEN 20
  56. 445  GOTO 435
  57. 450  FOR I = 1 TO 39: PRINT "*";: NEXT I: PRINT "*": RETURN 
  58. 460  FOR I = 1 TO 39: PRINT "-";: NEXT I: PRINT "-": RETURN 
  59. 470  POKE 34,10: HOME : PRINT : PRINT 
  60. 480  INPUT "ENTER THE ORIGINAL VALUE.........$";P: PRINT : INPUT "ENTER THE RESALE PRICE...........$";T: PRINT : INPUT "DEPRECIATE OVER HOW MANY YEARS...#";Y:D = 100 *(1 -(T/P) ^(1/Y)): PRINT : GOSUB 460
  61. 485  SPEED= 100: PRINT "THE DEPRECIATION RATE IS ";: &  PRINT USEI$;D: SPEED= 255: PRINT : GOSUB 460
  62. 490  GOSUB 1500: ON GT = 1 GOTO 470: ON GT = 2 GOTO 20
  63. 510  HOME : GOSUB 450: PRINT  TAB( 7);"((( DEPRECIATION AMOUNT )))": PRINT : GOSUB 450: PRINT : INPUT "ENTER ORIGINAL PRICE.........$";P: PRINT : INPUT "WHAT'S THE DEPRECIATION RATE...%";I5: PRINT :I5 = I5/100: INPUT "ENTER NUMBER OF YEARS.............#";Y: PRINT :D = P *I5 *(1 -I5) ^(Y -1): GOSUB 460: SPEED= 100
  64. 520  PRINT  TAB( 5);"DEPRECIATION AMOUNT IS ";: &  PRINT USEDL$;D: SPEED= 255: PRINT : GOSUB 460
  65. 530  GOSUB 1500: ON GT = 1 GOTO 510: ON GT = 2 GOTO 20
  66. 540  POKE 34,8: HOME : PRINT  TAB( 11);"*** SALVAGE VALUE ***": PRINT : PRINT : INPUT "ENTER ORIGINAL PRICE.........$";P: PRINT : INPUT "ENTER DEPRECIATION RATE......%";I5: PRINT : INPUT "ENTER NUMBER YEARS...........#";Y: PRINT : GOSUB 460: SPEED= 100: PRINT  TAB( 10);"SALVAGE VALUE IS ";: &  PRINT USEDL$;P *(1 -I5/100) ^Y: SPEED= 255: PRINT : GOSUB 460
  67. 560  GOSUB 1500: ON GT = 1 GOTO 540: ON GT = 2 GOTO 20
  68. 580  POKE 34,10: HOME : PRINT : PRINT 
  69. 590  HOME : INPUT "ENTER PRINCIPAL AMT OF INVESTMENT ";P: PRINT : INPUT "ENTER TOTAL VALUE AT MATURITY.....";T: PRINT : INPUT "ENTER NUMBER OF YEARS.............";Y: PRINT : INPUT "COMPOUNDING PERIODS PER YEAR ?....";N: PRINT :I2 = N *((T/P) ^(1/(N *Y)) -1) *100: PRINT : GOSUB 460: SPEED= 100
  70. 600  PRINT "THE NOMINAL INTEREST RATE IS ";: &  PRINT USEI$;I2: SPEED= 255: PRINT : GOSUB 460
  71. 610  GOSUB 1500: ON GT = 1 GOTO 580: ON GT = 2 GOTO 20
  72. 620  POKE 34,8: HOME : PRINT "(EFFECTIVE INTEREST RATE ON INVESTMENTS)": INPUT "ENTER INITIAL INVESTMENT..........$";P: PRINT : INPUT "TOTAL VALUE AFTER (X) # OF YEARS $ ";T: PRINT : INPUT "ENTER NUMBER OF YEARS.............#";Y: PRINT : GOSUB 460: SPEED= 100: PRINT  TAB( 7)"ANNUAL INTEREST RATE IS ";: &  PRINT USEI$;((T/P) ^(1/Y) -1) *100
  73. 630  SPEED= 255: PRINT : GOSUB 460
  74. 640  GOSUB 1500: ON GT = 1 GOTO 620: ON GT = 2 GOTO 20
  75. 660  HOME : GOSUB 450: PRINT  TAB( 7);"((( EARNED INTEREST TABLE )))": PRINT : GOSUB 450: PRINT : PRINT : INPUT "ENTER PRINCIPAL AMOUNT...........$";P: PRINT : INPUT "NOMINAL INTEREST RATE............%";I5: PRINT :I5 = I5/100
  76. 665  DEF  FN R(X) =  INT(X *100 +.5)/100: INPUT "HOW MANY DEPOS/WITHDRAWALS PER YEAR ";N1: PRINT : IF N1 = 0  THEN 680
  77. 670  INPUT "AMOUNT OF DEPOS/WITHDRAWAL.........$";R: PRINT :N = 360:L2 = N1: GOTO 690
  78. 680  INPUT "COMPOUNDING PERIODS PER YEAR.......#";N: PRINT :N1 = 0:L2 = 4
  79. 690  INPUT "STARTING WITH WHAT YEAR......(1-30) ";X: PRINT : INPUT "STOP PRINTING WITH WHAT YEAR (1-30) ";Y: PRINT : POKE 34,0: HOME 
  80. 692  IF X >1  THEN  VTAB 5: PRINT "CALCULATING WILL TAKE A FEW MINUTES.": PRINT "PLEASE WAIT..."
  81. 698 X =  INT(X):B0 = P:I1 = 0:I2 = 0:I3 = 0:K = 66:P1 = 4: FOR J0 = 1 TO  INT(Y) +1: IF J0 <X  THEN 730
  82. 700  IF K <55  THEN 730
  83. 710  FOR K1 = K TO 66: PRINT : NEXT K1:K = 6: GOSUB 450: PRINT  TAB( 7);"((( EARNED INTEREST TABLE )))": PRINT : GOSUB 450: PRINT "PRINCIPAL = $";P: PRINT "AT ";I5 *100;" %  FOR ";Y;" YEARS": GOSUB 460: IF N1 = 0  THEN 727
  84. 720  PRINT "DEPOSITS/WITHDRAWALS:": &  PRINT USE"#$####.## ## TIMES/YEAR";R,N1: GOSUB 460:ZF =  FN R(100 *((1 +15/N) ^N -1))
  85. 725  &  PRINT USE"EFFECTIVE INTEREST RATE IS ##.###%";ZF: PRINT "PER YEAR.": PRINT 
  86. 727  PRINT "YEAR   BALANCE   INTEREST   ACC/INTEREST"
  87. 730 L1 = 1:N2 = 1:P2 = 1: FOR J1 = 1 TO N: IF N2 >N1  THEN 760
  88. 740  IF N2/N1 >J1/N  THEN 760
  89. 750 B0 = B0 +R:N2 = N2 +1
  90. 760 B2 = B0 *(1 +I5/N):I1 = B2 -B0:I3 = I3 +I1:I2 = I2 +I1: IF P2/P1 >J1/N  THEN 780
  91. 770 I2 =  FN R(I2):B2 =  FN R(B2):P2 = P2 +1
  92. 780  IF J0 <X  THEN 810
  93. 790  IF J1/N <L1/L2  THEN 810
  94. 800 L1 = L1 +1: DEF  FN R(X) =  INT(X *100 +.5)/100: &  PRINT USE"###   ######.## ######.## ######.##";J0,B2,I3,I2:I3 = 0:K = K +1
  95. 810 B0 = B2: IF J0 +J1/N -1 > = Y  THEN 850
  96. 820  NEXT J1: IF J0 <X  THEN 840
  97. 830  PRINT :K = K +1
  98. 840  NEXT J0
  99. 850  GOSUB 1500: ON GT = 1 GOTO 660: ON GT = 2 GOTO 20
  100. 870  HOME : GOSUB 450: PRINT  TAB( 6);"ANNUAL INTEREST RATE ON A LOAN": PRINT : GOSUB 450: PRINT : INPUT "ENTER REGULAR PAYMENT AMOUNT....$";R: PRINT 
  101. 875  INPUT "ENTER TERM IN YEARS.............#";Y: PRINT : INPUT "ENTER PRINCIPAL AMOUNT..........$";P: PRINT : INPUT "NUMBER OF PAYMENTS PER YEAR.....#";N: PRINT :I6 = 1:I2 = 0
  102. 880 R1 = (I6 *P/N)/(1 -1/((I6/N +1) ^(N *Y))):R1 =  INT(R1 *100 +.5)/100:I3 =  ABS(I6 -I2)/2:I2 = I6: IF  ABS(R1 -R) <.000001  THEN 920
  103. 890  IF R1 >R  THEN 910
  104. 900 I6 = I6 +I3: GOTO 880
  105. 910 I6 = I6 -I3: GOTO 880
  106. 920 I6 = (( INT((I6 *1000) *100 +.5))/100)/1000: GOSUB 460: PRINT  TAB( 5);"ANNUAL INTEREST RATE IS ";: &  PRINT USEI$;I6 *100: PRINT : GOSUB 460
  107. 930  GOSUB 1500: ON GT = 1 GOTO 870: ON GT = 2 GOTO 20
  108. 940  HOME : GOSUB 450: PRINT  TAB( 8);"((( PRINCIPAL ON A LOAN )))": PRINT : GOSUB 450: INPUT "REGULAR PAYMENT AMOUNT..........$";R: PRINT : INPUT "TERM IN YEARS...................#";Y: PRINT : INPUT "ENTER ANNUAL INTEREST RATE......%";I5: PRINT : INPUT "ENTER NUMBER OF PAYMENTS/YEAR...#";N: PRINT 
  109. 950 P = R *N *(1 -1/((I5/100)/N +1) ^(N *Y))/(I5/100): GOSUB 460: &  PRINT USE"!!! PRINCIPAL IS #$####.## !!!";P: PRINT : GOSUB 460
  110. 960  GOSUB 1500: ON GT = 1 GOTO 940: ON GT = 2 GOTO 20
  111. 970  HOME : GOSUB 450: PRINT  TAB( 7);"REGULAR PAYMENT ON A LOAN": PRINT : GOSUB 450: PRINT : INPUT "WHAT IS TERM IN YEARS.........#";Y: PRINT : INPUT "WHAT IS PRINCIPAL AMOUNT......$";P: PRINT : INPUT "ENTER ANNUAL INTEREST RATE....%";I5: PRINT : INPUT "NUMBER OF PAYMENTS/YEAR.......#";N: PRINT :R = ((I5/100) *P/N)/(1 -1/((I5/100)/N +1) ^(N *Y))
  112. 980  GOSUB 460: &  PRINT USE"      REGULAR PAYMENT IS #$####.##";R: PRINT : GOSUB 460
  113. 990  GOSUB 1500: ON GT = 1 GOTO 970: ON GT = 2 GOTO 20
  114. 1000  HOME : GOSUB 450: PRINT  TAB( 6);"((( LAST PAYMENT ON A LOAN )))": PRINT : GOSUB 450: PRINT : INPUT "ENTER REGULAR PAYMENT AMOUNT..$";R: PRINT : INPUT "ENTER PRINCIPAL AMOUNT........$";P: PRINT : INPUT "ENTER THE TERM IN YEARS.......#";Y: PRINT : INPUT "ENTER ANNUAL INTEREST RATE....%";I5: PRINT :I5 = I5/100
  115. 1010  INPUT "NUMBER OF PAYMENTS PER/YEAR...#";N: PRINT :B0 = P: FOR J1 = 1 TO N *Y:I1 =  INT((B0 *I5/N) *100 +.5)/100:A = R -I1:B0 = B0 -A: NEXT J1: GOSUB 460: &  PRINT USE"      LAST PAYMENT IS #$####.##";R +B0: PRINT : GOSUB 460
  116. 1020  GOSUB 1500: ON GT = 1 GOTO 1000: ON GT = 2 GOTO 20
  117. 1030  HOME : GOSUB 450: PRINT  TAB( 8);"REMAINING BALANCE ON A LOAN": PRINT : GOSUB 450: INPUT "ENTER REGULAR PAYMENT AMOUNT.....$";R: PRINT : INPUT "ENTER PRINCIPAL AMOUNT...........$";P: PRINT : INPUT "NUMBER OF PAYMENTS PER/YEAR......#";N: PRINT : INPUT "ENTER ANNUAL INTEREST RATE.......%";I5: PRINT :I5 = I5/100
  118. 1040  PRINT "ENTER NUMBER OF PAYMENTS MADE....#";: INPUT N1:B0 = P: FOR J1 = 1 TO N1:I1 =  INT((B0 *I5/N) *100 +.5)/100:A = R -I1:B0 = B0 -A: NEXT J1: GOSUB 460: &  PRINT USE"     REMAINING BALANCE IS #$#####.##";B0: PRINT : GOSUB 460
  119. 1050  GOSUB 1500: ON GT = 1 GOTO 1030: ON GT = 2 GOTO 20
  120. 1060  HOME : GOSUB 450: PRINT  TAB( 10);"((( TERM OF A LOAN )))": PRINT : GOSUB 450: PRINT : INPUT "ENTER REGULAR PAYMENT AMOUNT.... $";R: PRINT : INPUT "ENTER PRINCIPAL AMOUNT...........$";P: PRINT : INPUT "ENTER ANNUAL INTEREST RATE.......%";I5: PRINT : INPUT "NUMBER OF PAYMENTS/YEAR..........#";N: PRINT 
  121. 1065  IF (1 -(P *(I5/100))/(N *R))/( LOG(1 +I5/100/N) *N) <0  THEN  PRINT "YOU'LL NEVER MAKE IT AT THAT RATE!": GOTO 1080
  122. 1070 Y =  -( LOG(1 -(P *(I5/100))/(N *R))/( LOG(1 +I5/100/N) *N)): GOSUB 460: &  PRINT USE"      !!! TERM IS ### YEARS !!!";Y: PRINT : GOSUB 460
  123. 1080  GOSUB 1500: ON GT = 1 GOTO 1060: ON GT = 2 GOTO 20
  124. 1090  HOME : GOSUB 450: PRINT  TAB( 8);"((( INITIAL INVESTMENT )))": PRINT : GOSUB 450: PRINT : INPUT "VALUE AFTER (X)# OF YEARS........#";T: PRINT : INPUT "NUMBER OF COMPOUNDING PERIODS/YEAR.#";N: PRINT : INPUT "LENGTH OF INVESTMENT (YEARS).......#";Y: PRINT : INPUT "WHAT NOMINAL INTEREST RATE.........%";I5: PRINT :I5 = I5/N/100
  125. 1100 P = T/(1 +I5) ^(N *Y): GOSUB 460: SPEED= 100: &  PRINT USE"    INITIAL INVESTMENT IS #$####.##";P: PRINT : SPEED= 255: GOSUB 460
  126. 1110  GOSUB 1500: ON GT = 1 GOTO 1090: ON GT = 2 GOTO 20
  127. 1120  HOME : GOSUB 450: PRINT  TAB( 7);"FUTURE VALUE OF AN INVESTMENT": PRINT : GOSUB 450: PRINT : PRINT : INPUT "ENTER INITIAL INVESTMENT.........$";P: PRINT : INPUT "NOMINAL INTEREST RATE............%";I5: PRINT : INPUT "COMPOUNDING PERIODS PER/YEAR.....#";N: PRINT : INPUT "ENTER NUMBER OF YEARS............#";Y: PRINT :I5 = I5/N/100
  128. 1130 T = P *(1 +I5) ^(N *Y): GOSUB 460: SPEED= 100: &  PRINT USE"    !!! FUTURE VALUE IS #$####.## !!!";T: SPEED= 255: PRINT : GOSUB 460
  129. 1140  GOSUB 1500: ON GT = 1 GOTO 1120: ON GT = 2 GOTO 20
  130. 1150  HOME : GOSUB 450: PRINT " REGULAR WITHDRAWALS FROM AN INVESTMENT": PRINT : GOSUB 450: PRINT : INPUT "ENTER INITIAL INVESTMENT.........$";P: PRINT : INPUT "NOMINAL INTEREST RATE............%";I5: PRINT : INPUT "HOW MANY WITHDRAWALS EACH YEAR...#";N: PRINT : INPUT "NUMBERS OF YEARS.................#";Y: PRINT :I5 = I5/N/100
  131. 1160 R = P *(I5/((1 +I5) ^(N *Y) -1) +I5): GOSUB 460: SPEED= 100: &  PRINT USE"AMOUNT OF EACH WITHDRAWAL IS #$####.##";R: PRINT : SPEED= 255: GOSUB 460
  132. 1170  GOSUB 1500: ON GT = 1 GOTO 1150: ON GT = 2 GOTO 20
  133. 1180  HOME : GOSUB 450: PRINT "** MINIMUM INVESTMENT FOR WITHDRAWAL **": PRINT : GOSUB 450: PRINT : PRINT : INPUT "AMOUNT OF WITHDRAWALS............$";R: PRINT : INPUT "ENTER NOMINAL INTEREST RATE......%";I5: PRINT : INPUT "HOW MANY WITHDRAWALS EACH YEAR...#";N: PRINT : INPUT "ENTER NUMBER OF YEARS............#";Y:I5 = I5/100
  134. 1190 P = R *N/I5 *(1 -1/((1 +I5/N) ^(N *Y))): PRINT : GOSUB 460: SPEED= 100: &  PRINT USE"   INVESTMENT REQUIRED IS #$#####.##";P: PRINT : SPEED= 255: GOSUB 460
  135. 1200  GOSUB 1500: ON GT = 1 GOTO 1180: ON GT = 2 GOTO 20
  136. 1210  HOME : GOSUB 450: PRINT "    FUTURE VALUE OF REGULAR DEPOSITS": PRINT "               (ANNUITY)": PRINT : GOSUB 450: PRINT : INPUT "AMOUNT OF REGULAR DEPOSITS........$";R: PRINT : INPUT "ENTER NOMINAL INTEREST RATE.......%";I5: PRINT : INPUT "HOW MANY DEPOSITS EACH YEAR.......#";N: PRINT 
  137. 1220  INPUT "ENTER NUMBER OF YEARS.............#";Y:I5 = I5/N/100:T = R *((1 +I5) ^(N *Y) -1)/I5: PRINT : GOSUB 460: SPEED= 100: &  PRINT USE"      FUTURE VALUE IS #$####.##";T: PRINT : SPEED= 255: GOSUB 460
  138. 1230  GOSUB 1500: ON GT = 1 GOTO 1210: ON GT = 2 GOTO 20
  139. 1240  HOME : CLEAR : GOSUB 450: PRINT  TAB( 9);"*** REGULAR DEPOSITS ***": PRINT : GOSUB 450: PRINT : INPUT "ENTER VALUE AFTER (X)# OF YEARS..$";T: PRINT : INPUT "ENTER NOMINAL INTEREST RATE......%";I: PRINT : INPUT "HOW MANY DEPOSITS EACH YEAR......#";N: PRINT : INPUT "ENTER NUMBER OF YEARS............#";Y0: PRINT 
  140. 1250  INPUT "ENTER NUMBER OF MONTHS...........#";M:Y = (12 *Y0 +M)/12: PRINT :I = I/N/100:R = T *I/((I +1) ^(N *Y) -1): GOSUB 460: SPEED= 100: &  PRINT USE"   REGULAR DEPOSITS ARE #$####.##";R: PRINT : SPEED= 255: GOSUB 460
  141. 1260  GOSUB 1500: ON GT = 1 GOTO 1240: ON GT = 2 GOTO 20
  142. 1270  POKE 34,0: HOME : GOSUB 450: PRINT "       MORTGAGE AMORTIZATION TABLE": PRINT : GOSUB 450: PRINT : INPUT "ENTER AMOUNT OF REGULAR PAYMENT.$";R: PRINT 
  143. 1275  INPUT "ENTER TERM IN YEARS.............#";Y: PRINT : INPUT "ENTER PRINCIPAL AMOUNT..........$";P: PRINT : INPUT "ENTER ANNUAL INTEREST RATE......%";I5: PRINT :I5 = I5/100
  144. 1280  INPUT "NUMBER OF PAYMENTS PER/YEAR.....#";N: PRINT : INPUT "PRINTING TO START AT..YEAR (1-30)";X:C1 = 0:I2 = 0:I3 = 0:J0 = 0:N1 = N:K = 66:B0 = P:A1 = 0:A2 = 0: IF  INT(Y) <1  THEN 1410
  145. 1290  TEXT : HOME : &  PRINT USE"PRINCIPAL AMOUNT......... #$######.##";P: &  PRINT USE"INTEREST RATE............ ##.###%";I5 *100: &  PRINT USE"TERM IN YEARS............ ###";Y: &  PRINT USE"REGULAR PAYMENT.......... #$###.##";R: GOSUB 460: PRINT " MO.   INTEREST     AMOUNT      ENDING"
  146. 1300  PRINT "        CHARGE     AMORTIZED    BALANCE": PRINT : POKE 34,9: FOR J0 = 1 TO  INT(Y)
  147. 1310  HOME : FOR J1 = 1 TO N1:I1 =  INT((B0 *I5/N) *100 +.5)/100:I1 =  INT((B0 *I5/N) *100 +.5)/100:C1 = C1 +1:A = R -I1:A1 = A1 +A:B0 = P -A1: IF C1 < >N *Y  THEN 1330
  148. 1320 R = R +B0:A = A +B0:A1 = A1 +B0:B0 = 0
  149. 1330 I2 = I2 +I1:I3 = I3 +I1:A2 = A2 +A: IF J0 <X  THEN 1350
  150. 1340  &  PRINT USE"####  ######.##   ######.##   ######.##";J1,I1,A,B0
  151. 1350  NEXT J1: IF C1 < >N *Y  THEN 1370
  152. 1360  PRINT : &  PRINT USE"LAST PAYMENT IS #$####.##";R
  153. 1370  IF J0 <X  THEN 1390
  154. 1380  PRINT "YEAR ";J0: &  PRINT USE"      ######.##   ######.##";I3,A2:
  155. 1383  INVERSE : PRINT "PRESS (RETURN) TO CONTINUE...";: NORMAL 
  156. 1385  GET A$: IF  ASC(A$) < >13  THEN 1385
  157. 1390  IF J0 >Y  THEN 1420
  158. 1400 I3 = 0:A2 = 0: NEXT J0: IF Y = J0 -1  THEN 1420
  159. 1410 N1 = ((Y - INT(Y)) *12)/12 *N: GOTO 1310
  160. 1420  GOSUB 460
  161. 1430  GOSUB 1500: ON GT = 1 GOTO 1270: ON GT = 2 GOTO 20
  162. 1440  PRINT  CHR$(4)"BLOAD PU": CALL 34048: RETURN 
  163. 1500  VTAB 23: CALL  -958: INPUT "WANT ANOTHER RUN (Y/N) ? ";A$
  164. 1530  ON  LEFT$(A$,1) < >"Y"  AND  LEFT$(A$,1) < >"y"  AND  LEFT$(A$,1) < >"N"  AND  LEFT$(A$,1) < >"n" GOTO 1500: IF  LEFT$(A$,1) = "Y"  OR  LEFT$(A$,1) = "y"  THEN GT = 1
  165. 1540  IF  LEFT$(A$,1) = "N"  OR  LEFT$(A$,1) = "n"  THEN GT = 2
  166. 1550  RETURN 
  167. 2000 ERR% =  PEEK(222):LINE% =  PEEK(218) + PEEK(219) *256
  168. 2010  IF ERR% = 255  THEN  RESUME 
  169. 2020  IF ERR% = 69  OR ERR% = 133  THEN 3000: REM OVERFLOW/DIVISION BY ZERO
  170. 2030  PRINT "ERROR "ERR%" AT LINE "LINE%: STOP 
  171. 3000  PRINT : PRINT  CHR$(7)"THE FIGURES YOU HAVE ENTERED ARE INVALIDFOR THIS PARTICULAR PROBLEM."
  172. 3010  PRINT : PRINT 
  173. 3012  PRINT "PRESS RETURN TO CONTINUE OR ESC TO END ";
  174. 3020  GET A$: IF  ASC(A$) = 13  THEN 20
  175. 3030  IF  ASC(A$) < >27  THEN 3020
  176. 4000  PRINT : PRINT  CHR$(4)"-/TUTOR/BASIC.SYSTEM"